# 导入SQLAlchemy所需的create_engine和engine模块，用于创建数据库引擎
from sqlalchemy import create_engine
# 导入sessionmaker用于创建数据库会话
from sqlalchemy.orm import sessionmaker
# 导入declarative_base用于创建数据库模型的基类
from sqlalchemy.ext.declarative import declarative_base

# 定义SQLite数据库的URI连接字符串，指定数据库文件位置为当前目录下的todos.db
SQLALCHEMY_DATABASE_URI = 'sqlite:///./todosapp.db'

# 定义PostgreSQL数据库的连接URI，包含用户名(postgres)、密码(test111)、主机(localhost)和数据库名(TodoApplicationDatabase)
# SQLALCHEMY_DATABASE_URI = 'postgresql://postgres:test111@localhost/TodoApplicationDatabase'

# 创建数据库引擎实例，设置check_same_thread=False允许多线程访问SQLite数据库
engine = create_engine(SQLALCHEMY_DATABASE_URI, connect_args={'check_same_thread': False})
# engine = create_engine(SQLALCHEMY_DATABASE_URI)

# 创建数据库会话类，设置自动提交和自动刷新为False，并绑定到创建的引擎
sessionmaker = sessionmaker(autocommit=False, autoflush=False, bind=engine)

# 创建声明性基类，用于创建SQLAlchemy模型类
Base = declarative_base()


